#pragma once

#include<iostream>
#include<map>
#include<string>
#include<fstream>

using namespace std;

#define COMMENT_CHAR ('#')

class ConfigHelper
{
public:
    ConfigHelper(string filename);
    //~ConfigHelper();


    int ReadConfig();       // 从config文件当中读取数据
    void PrintConfig();     // 打印读取到的配置内容
    bool FindFromKey(string key,string&value); // 根据key寻找到value

private:
    string filename;
    map<string,string> m;

    bool IsSpace(char c);       // 是否为空格
    bool IsCommentChar(char c); // 是否为注释字符
    void Trim(string str);        // 把一个字符串左边和右边的空格去掉
    bool AnalyseLine(const string & line, string & key, string & value); // 判断是否为注释行
};
